/*
 * Copyright (C) 2010-2012 Enrique Lara (enrique.posix2.lara@gmail.com)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
 * limitations under the License.
  */
package app.transitalarm;

import android.app.Activity;

import android.content.Context;

import android.view.View;

import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import app.transitalarm.model.Route;

import java.text.MessageFormat;

public final class Android {
    public static TextView cptxt(final View view, final int viewId, final CharSequence value) {
        final TextView text = (TextView) view.findViewById(viewId);

        if (text != null) {
            if (value != null) {
                text.setText(value);
            } else {
                text.setText("");
            }
        }

        return text;
    }

    public static TextView cptxt(final Activity activity, final int viewId, final CharSequence value) {
        final TextView text = (TextView) activity.findViewById(viewId);

        if (text != null) {
            if (value != null) {
                text.setText(value);
            } else {
                text.setText("");
            }
        }

        return text;
    }

    public static void cproute(final View view, final int viewId, final Route route) {
        final View line = view.findViewById(viewId);

        if (line instanceof ImageView) {
            ((ImageView) line).setImageResource(route.getImageId());
        } else {
            cptxt(view, viewId, route.getCode());
        }
    }

    public static void showLongToast(final Context context, final int resId, final Object... params) {
        final CharSequence msg = MessageFormat.format(context.getText(resId).toString(), params);
        Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
    }
}
